package xyz.xtt.equity.client.request;

import java.io.Serializable;
import java.time.LocalDateTime;

import lombok.Data;

/**
 * @author dale
 * @date 2025/2/12
 **/
@Data
public class TblUserBenefitDto implements Serializable {

	private static final long serialVersionUID = 1L;

	/** 主键 */
	private Long userBenefitId;

	private Long packageId;

	private String packageName;

	/** 通通app用户id */
	private Long appUserId;

	/** 权益id */
	private Long benefitId;

	/**
	 * 权益项目： PRIORITY_BUY（优先购买权） FREE_MINT（免费铸造数量） AI_PIC_THEME（AI图片风格）
	 * VIP_TAG（VIP身份标识）
	 */
	private String benefitCode;

	/** 权益数量： -1代表不限量 >=0 代表实际权益数量 */
	private Integer benefitNum;

	/** 权益剩余数量，取值范围参考 right_num 字段 */
	private Integer benefitRemain;

	/** 开始生效时间 */
	private LocalDateTime startTime;

	/**
	 * 过期时间，当服务器时间等于或晚于该时间时权益自动失效。 永不失效的权益其过期时间为：9999-12-31 23:59:59
	 */
	private LocalDateTime expireAt;

	/**
	 * 权益来源： BUY_NFT_VIP_MONTH (购买数藏藏vip) BUY_NFT_VIP_SEASON BUY_NFT_VIP_YEAR
	 */
	private String sourceType;

	/**
	 * 权益来源关联业务id 当权益来源为 BUY_NFT_VIP 时此字段存储资产交易记录表 id
	 */
	private Long sourceRefId;

	/** 创建时间 */
	private LocalDateTime createTime;

	/** 最后一次更新时间 */
	private LocalDateTime updateTime;

	/** 是否删除：0-否，1-是 */
	private Integer isDel;

}
